package com.dstz.bpm.api.engine.data.result;

import com.alibaba.fastjson.JSONObject;
import com.dstz.bpm.api.model.form.BpmForm;
import com.dstz.bpm.api.model.nodedef.Button;
import com.dstz.bus.api.model.IBusinessData;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import java.util.Map;

@ApiModel("流程数据")
public class BpmFlowData implements FlowData {
   @ApiModelProperty("流程定义ID")
   protected String defId;
   @ApiModelProperty("流程定义名字")
   protected String defName;
   @ApiModelProperty("流程当前节点表单")
   protected BpmForm Form;
   @ApiModelProperty("流程自定义表单业务数据")
   protected JSONObject data;
   @ApiModelProperty("流程自定义表单 权限")
   protected JSONObject permission;
   @ApiModelProperty("流程自定义表单 表权限")
   protected JSONObject tablePermission;
   @ApiModelProperty("流程自定义表单 初始化数据，可用于子表数据复制赋值")
   protected JSONObject initData;
   @ApiModelProperty("流程 当前节点按钮信息")
   protected List<Button> buttonList;
   transient Map<String, IBusinessData> dataMap;

   public String getDefId() {
      return this.defId;
   }

   public void setDefId(String defId) {
      this.defId = defId;
   }

   public BpmForm getForm() {
      return this.Form;
   }

   public void setForm(BpmForm Form) {
      this.Form = Form;
   }

   public JSONObject getPermission() {
      return this.permission;
   }

   public JSONObject getTablePermission() {
      return this.tablePermission;
   }

   public void setTablePermission(JSONObject tablePermission) {
      this.tablePermission = tablePermission;
   }

   public void setPermission(JSONObject permission) {
      this.permission = permission;
   }

   public JSONObject getData() {
      return this.data;
   }

   public String getDefName() {
      return this.defName;
   }

   public void setDefName(String defName) {
      this.defName = defName;
   }

   public void setData(JSONObject dataModel) {
      this.data = dataModel;
   }

   public List<Button> getButtonList() {
      return this.buttonList;
   }

   public Map<String, IBusinessData> getDataMap() {
      return this.dataMap;
   }

   public void setDataMap(Map<String, IBusinessData> dataMap) {
      this.dataMap = dataMap;
   }

   public void setButtonList(List<Button> list) {
      this.buttonList = list;
   }

   public JSONObject getInitData() {
      return this.initData;
   }

   public void setInitData(JSONObject initData) {
      this.initData = initData;
   }
}
